/**
 * TP GRUPO _ 
 * ALGORITMOS Y PROGRAMACION III
 */

package modelo;

/**
 * @author Grupo _
 */

import java.util.ArrayList;
import java.util.Iterator;


public class Resultados{

    private ArrayList listaresultados;
			
			
	public Resultados(){
		listaresultados=new ArrayList();
	}
			
	public ArrayList getListaResultados(){
		return this.listaresultados;
	}
			
	private boolean estaEn(double fx){
		boolean encontrado=false;
		Iterator it=this.listaresultados.iterator();
		while (it.hasNext()&&(!encontrado)){
			Valor valor=(Valor)it.next();
			if (fx==valor.getFx())
			encontrado=true;
		}
		return encontrado;
	}
			
	public void agregar(Valor elem){
		listaresultados.add(elem);
	}
			
	public double getMax(){
		double max;
		Iterator it=this.listaresultados.iterator();
		max=((Valor)it.next()).getFx();
		while (it.hasNext()){
			Valor valor=(Valor)it.next();
			if (valor.getFx()>max) max=valor.getFx();
		}
		return max;
	}
			
	public double getMin(){
		double min;
		Iterator it=this.listaresultados.iterator();
		min=((Valor)it.next()).getFx();
		while (it.hasNext()){
			Valor valor=(Valor)it.next();
			if (valor.getFx()<min) min=valor.getFx();
		}
		return min;
	}
			
	public ArrayList getIntersec(Resultados resotrafunc){
			
		ArrayList intersecciones = new ArrayList();
		Iterator it=resotrafunc.getListaResultados().iterator();
		while (it.hasNext()){
			Valor valor=(Valor)it.next();
			if (this.estaEn(valor.getFx()))
			intersecciones.add(valor);
	    }
		return intersecciones;	
	}
			
	public String toString(){
		String s=new String();
		Iterator it=this.listaresultados.iterator();
		while (it.hasNext())
			s+=((Valor)it.next()).toString();
			return s;
	}
}
